package base;

public enum ResearchType {

	/*Format: ENUM(idNum, goldCost, woodCost, oilCost)*/
	HUMAN_SWORD_1(0, 800, 0, 0),
	HUMAN_SWORD_2(1, 2400, 0, 0),
	ORC_BATTLE_AXE_1(2, 500, 100, 0),
	ORC_BATTLE_AXE_2(3, 1500, 300, 0),
	HUMAN_ARROW_1(4, 300, 300, 0),
	HUMAN_ARROW_2(5, 900, 500, 0),
	ORC_THROWING_AXE_1(6, 300, 300, 0),
	ORC_THROWING_AXE_2(7, 900, 500, 0),
	HUMAN_SHIELD_1(8, 300, 300, 0),
	HUMAN_SHIELD_2(9, 900, 500, 0),
	ORC_SHIELD_1(10, 300, 300, 0),
	ORC_SHIELD_2(11, 900, 500, 0),
	HUMAN_SHIP_CANNON_1(12, 700, 100, 1000),
	HUMAN_SHIP_CANNON_2(13, 2000, 200, 3000),
	ORC_SHIP_CANNON_1(14, 700, 100, 1000),
	ORC_SHIP_CANNON_2(15, 2000, 200, 3000),
	HUMAN_SHIP_ARMOR_1(16, 500, 500, 0),
	HUMAN_SHIP_ARMOR_2(17, 1500, 900, 0),
	ORC_SHIP_ARMOR_1(18, 500, 500, 0),
	ORC_SHIP_ARMOR_2(19, 1500, 900, 0),
	ORC_CATAPULT_1(20, 1500, 0, 0),
	ORC_CATAPULT_2(21, 4000, 0, 0),
	HUMAN_BALLISTA_1(22, 1500, 0, 0),
	HUMAN_BALLISTA_2(23, 4000, 0, 0),
	HUMAN_RANGER(24, 1500, 0, 0),
	HUMAN_LONGBOW(25, 2000, 0, 0),
	HUMAN_RANGER_SCOUTING(26, 1500, 0, 0),
	HUMAN_RANGER_MARKMANSHIP(27, 2500, 0, 0),
	ORC_BESERKER(28, 1500, 0, 0),
	ORC_LIGHT_AXES(29, 2000, 0, 0),
	ORC_BESERKER_SCOUTING(30, 1500, 0, 0),
	ORC_BESERKER_REGENERATION(31, 3000, 0, 0),
	HUMAN_PALADIN(32, 1000, 0, 0),
	ORC_OGRE_MAGE(33, 1000, 0, 0),
	HUMAN_HOLY_VISION(34, 0, 0, 0),
	HUMAN_HEALING(35, 1000, 0, 0),
	HUMAN_EXCORCISM(36, 2000, 0, 0),
	HUMAN_FLAME_SHIELD(37, 1000, 0, 0),
	HUMAN_FIREBALL(38, 0, 0, 0),
	HUMAN_SLOW(39, 500, 0, 0),
	HUMAN_INVISIBILITY(40, 2500, 0, 0),
	HUMAN_POLYMORPH(41, 2000, 0, 0),
	HUMAN_BLIZZARD(42, 2000, 0, 0),
	ORC_EYE_OF_KILROGG(43, 0, 0, 0),
	ORC_BLOODLUST(44, 1000, 0, 0),
	ORC_RAISE_DEAD(45, 1500, 0, 0),
	ORC_DEATH_COIL(46, 0, 0, 0),
	ORC_WHILRWIND(47, 1500, 0, 0),
	ORC_HASTE(48, 500, 0, 0),
	ORC_UNHOLY_ARMOR(49, 2500, 0, 0),
	ORC_RUNES(50, 1000, 0, 0),
	ORC_DEATH_AND_DECAY(51, 2000, 0, 0),
	AREA_HEALING(52, 2000, 0, 0); //XXX: where does this go?

	
	private int idNum;
	private int goldCost;
	private int woodCost;
	private int oilCost;
	
	ResearchType(int idNum, int goldCost, int woodCost, int oilCost) {
		this.idNum = idNum;
		this.goldCost = goldCost;
		this.woodCost = woodCost;
		this.oilCost = oilCost;
	}

	/**
	 * @return the idNum
	 */
	public int getIdNum() {
		return idNum;
	}
	/**
	 * @return the goldCost
	 */
	public int getGoldCost() {
		return goldCost;
	}
	/**
	 * @return the woodCost
	 */
	public int getWoodCost() {
		return woodCost;
	}
	/**
	 * @return the oilCost
	 */
	public int getOilCost() {
		return oilCost;
	}
}
